package com.example.service;

import com.example.entity.DownloadLink;
import com.github.pagehelper.PageInfo;

import java.util.List;
import java.util.Map;

/**
 * 下载链接Service接口
 */
public interface DownloadLinkService {
    
    /**
     * 分页查询下载链接
     */
    PageInfo<DownloadLink> page(Integer pageNum, Integer pageSize, Integer versionId, String type);
    
    /**
     * 根据版本ID查询下载链接并按类型分组
     */
    Map<String, List<DownloadLink>> getByVersionId(Integer versionId);
    
    /**
     * 根据ID查询下载链接
     */
    DownloadLink getById(Integer id);
    
    /**
     * 新增下载链接
     */
    void add(DownloadLink downloadLink);
    
    /**
     * 批量新增下载链接
     */
    void batchAdd(List<DownloadLink> downloadLinks);
    
    /**
     * 更新下载链接
     */
    void update(DownloadLink downloadLink);
    
    /**
     * 删除下载链接
     */
    void delete(Integer id);
    
    /**
     * 根据版本ID删除所有下载链接
     */
    void deleteByVersionId(Integer versionId);
} 